package com.bestcem.xm.member.dao.mapper;

import com.bestcem.xm.member.entity.mysql.MemberUserGroupEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;

/**
 * @author dc.wang <dc.wang@idiaoyan.com>
 * @version V1.0
 * @date 2022/2/11 16:38
 */
@Mapper
public interface MemberUserGroupMapper {
    /**
     * 查询用户组织
     *
     * @param ids 组织id
     * @return 组织集合
     */
    List<MemberUserGroupEntity> findByIds(Collection<String> ids);

    /**
     * 子组织、无效组织数量
     * @param groupIds 组织id
     * @return
     */
    Integer countSubAndInactiveGroup(String orgId, String groupIds);

    /**
     * 子组织、无效组织列表
     * @param groupIds 组织id
     * @return
     */
    List<MemberUserGroupEntity> allSubAndInactiveGroup(String orgId, String groupIds);

    /**
     * 批量创建、替换组织
     * @param memberUserGroups 组织集合
     */
    void batchInsertReplace(Collection<MemberUserGroupEntity> memberUserGroups);

    /**
     * 获取子节点
     *
     * @param store
     * @return
     */
    List<MemberUserGroupEntity> listByParentIn(@Param("store") String store);
}
